﻿using System;
using System.Collections.Generic;

namespace Chess.Domain
{
	internal class QueenPositionDeterminant : IPositionDeterminant
    {
		private IPositionDeterminant _HorizontalVertical = new RookPositionDeterminant();
		private IPositionDeterminant _Diagonal = new BishopPositionDeterminant();

        /// <summary>
        /// 
        /// </summary>
        /// <param name="position"></param>
        /// <returns></returns>
        public List<Position> AvailablePositions(Position currentPosition)
        {
			List<Position> results = new List<Position>();

			results.AddRange(_HorizontalVertical.AvailablePositions(currentPosition));
			results.AddRange(_Diagonal.AvailablePositions(currentPosition));

			return results;
        }
    }
}
